package com.ruoyi.ss.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 参赛者报名对象 ss_participants
 * 
 * @author ruoyi
 * @date 2025-08-04
 */
public class SsParticipants extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 参赛者报名主键ID */
    private Long ssParticipantsId;

    /** 活动ID */
    @Excel(name = "活动ID")
    private Long activityId;

    /** 小程序用户ID */
    @Excel(name = "小程序用户ID")
    private Long userId;

    /** 证件类型，默认为居民身份证 */
    @Excel(name = "证件类型，默认为居民身份证")
    private String documentType;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String documentNumber;

    /** 国家/地区 */
    @Excel(name = "国家/地区")
    private String country;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 紧急联系人姓名 */
    @Excel(name = "紧急联系人姓名")
    private String emergencyContact;

    /** 紧急联系人电话 */
    @Excel(name = "紧急联系人电话")
    private String emergencyPhone;

    /** 与紧急联系人关系 */
    @Excel(name = "与紧急联系人关系")
    private String contactRelation;

    /** 血型 */
    @Excel(name = "血型")
    private String bloodType;

    /** 服装尺码 */
    @Excel(name = "服装尺码")
    private String clothingSize;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 用户签名 */
    @Excel(name = "用户签名")
    private String signature;

    /** 报名费用,单位分 */
    @Excel(name = "报名费用,单位分")
    private Long registrationFee;

    /** 状态: 1(待审核)/2(已通过)/3(已付款)/4(已抽选)/5(已通知)/6(排队中)/7(已取消)/8(审核不通过) */
    @Excel(name = "状态: 1(待审核)/2(已通过)/3(已付款)/4(已抽选)/5(已通知)/6(排队中)/7(已取消)/8(审核不通过)")
    private Long status;

    public void setSsParticipantsId(Long ssParticipantsId) 
    {
        this.ssParticipantsId = ssParticipantsId;
    }

    public Long getSsParticipantsId() 
    {
        return ssParticipantsId;
    }
    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDocumentType(String documentType) 
    {
        this.documentType = documentType;
    }

    public String getDocumentType() 
    {
        return documentType;
    }
    public void setDocumentNumber(String documentNumber) 
    {
        this.documentNumber = documentNumber;
    }

    public String getDocumentNumber() 
    {
        return documentNumber;
    }
    public void setCountry(String country) 
    {
        this.country = country;
    }

    public String getCountry() 
    {
        return country;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setEmergencyContact(String emergencyContact) 
    {
        this.emergencyContact = emergencyContact;
    }

    public String getEmergencyContact() 
    {
        return emergencyContact;
    }
    public void setEmergencyPhone(String emergencyPhone) 
    {
        this.emergencyPhone = emergencyPhone;
    }

    public String getEmergencyPhone() 
    {
        return emergencyPhone;
    }
    public void setContactRelation(String contactRelation) 
    {
        this.contactRelation = contactRelation;
    }

    public String getContactRelation() 
    {
        return contactRelation;
    }
    public void setBloodType(String bloodType) 
    {
        this.bloodType = bloodType;
    }

    public String getBloodType() 
    {
        return bloodType;
    }
    public void setClothingSize(String clothingSize) 
    {
        this.clothingSize = clothingSize;
    }

    public String getClothingSize() 
    {
        return clothingSize;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setSignature(String signature) 
    {
        this.signature = signature;
    }

    public String getSignature() 
    {
        return signature;
    }
    public void setRegistrationFee(Long registrationFee) 
    {
        this.registrationFee = registrationFee;
    }

    public Long getRegistrationFee() 
    {
        return registrationFee;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ssParticipantsId", getSsParticipantsId())
            .append("activityId", getActivityId())
            .append("userId", getUserId())
            .append("documentType", getDocumentType())
            .append("documentNumber", getDocumentNumber())
            .append("country", getCountry())
            .append("name", getName())
            .append("gender", getGender())
            .append("birthDate", getBirthDate())
            .append("phone", getPhone())
            .append("emergencyContact", getEmergencyContact())
            .append("emergencyPhone", getEmergencyPhone())
            .append("contactRelation", getContactRelation())
            .append("bloodType", getBloodType())
            .append("clothingSize", getClothingSize())
            .append("address", getAddress())
            .append("signature", getSignature())
            .append("registrationFee", getRegistrationFee())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
